#ifndef RED_THREAD_H
#define RED_THREAD_H

#include <pthread.h>

namespace red {
namespace hilos {
namespace thread {

class Thread {

public:

	virtual ~Thread();

	virtual void run() = 0;

	void start();
	void join();
	void sleep(unsigned int usecs);
	void cancel();

private:

	static void *rutinaEstatica(void *p_pArg);
	::pthread_t m_Thread;
};

}
}
}

#endif
